#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n + 10);
    for(int i = 0; i < n; i++) cin >> a[i];
    deque<int> q1, q2;
    for(int i = 0; i < k; i++) {
        while(q1.size() && a[q1.back()] >= a[i]) q1.pop_back();
        while(q2.size() && a[q2.back()] <= a[i]) q2.pop_back();
        q1.push_back(i);
        q2.push_back(i);
    }
    vector<int> mx, mi;
    mi.push_back(a[q1.front()]);
    mx.push_back(a[q2.front()]);
    for(int i = k; i < n; i++) {
        if(q1.front() + k <= i) q1.pop_front();
        if(q2.front() + k <= i) q1.pop_front();
        while(q1.size() && a[q1.back()] >= a[i]) q1.pop_back();
        while(q2.size() && a[q2.back()] <= a[i]) q2.pop_back();
        q1.push_back(i);
        q2.push_back(i);
        mi.push_back(a[q1.front()]);
        mx.push_back(a[q2.front()]);
    }
    for(auto x : mi) cout << x << ' ';
    cout << '\n';
    for(auto x : mx) cout << x << ' ';
    return 0;
}